package com.css.dzj.dzjap.modules.administration.check.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "AP_JGXW_CHECK_ACTION", schema = "DZJAP", catalog = "")
public class ApJgxwCheckAction {
    private String actionId;
    private String recordUniqueIdentity;
    private String superviseItemImplementCode;
    private String superviseItemCheckIcode;
    private String checkActionCode;
    private String checkActionName;
    private String implementInstitution;
    private String implementInstitutionCode;
    private String entrustDept;
    private String entrustDeptCode;
    private String superviseObject;
    private String administrativeCp;
    private String administrativeCpNa;
    private String administrativeCpCeType;
    private String administrativeCpUiCode;
    private String addressRegistered;
    private String addressOperating;
    private String areaNumber;
    private String checkForm;
    private String checkType;
    private String checkMode;
    private String checkResult;
    private Date checkDate;
    private String checkPersonnel;
    private String checkPersonnelCode;
    private Date submittedDate;
    private String submittedPersonnel;
    private String delFlag;
    private Date creatTime;
    private String creatPreson;

    @Id
    @Column(name = "ACTION_ID")
    @GeneratedValue(generator = "SnowflakeId")
    @GenericGenerator(name = "SnowflakeId",strategy = "com.css.dzj.dzjap.common.util.SnowflakeId")
    public String getActionId() {
        return actionId;
    }

    public void setActionId(String actionId) {
        this.actionId = actionId;
    }

    @Basic
    @Column(name = "RECORD_UNIQUE_IDENTITY")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "SUPERVISE_ITEM_IMPLEMENT_CODE")
    public String getSuperviseItemImplementCode() {
        return superviseItemImplementCode;
    }

    public void setSuperviseItemImplementCode(String superviseItemImplementCode) {
        this.superviseItemImplementCode = superviseItemImplementCode;
    }

    @Basic
    @Column(name = "SUPERVISE_ITEM_CHECK_ICODE")
    public String getSuperviseItemCheckIcode() {
        return superviseItemCheckIcode;
    }

    public void setSuperviseItemCheckIcode(String superviseItemCheckIcode) {
        this.superviseItemCheckIcode = superviseItemCheckIcode;
    }

    @Basic
    @Column(name = "CHECK_ACTION_CODE")
    public String getCheckActionCode() {
        return checkActionCode;
    }

    public void setCheckActionCode(String checkActionCode) {
        this.checkActionCode = checkActionCode;
    }

    @Basic
    @Column(name = "CHECK_ACTION_NAME")
    public String getCheckActionName() {
        return checkActionName;
    }

    public void setCheckActionName(String checkActionName) {
        this.checkActionName = checkActionName;
    }

    @Basic
    @Column(name = "IMPLEMENT_INSTITUTION")
    public String getImplementInstitution() {
        return implementInstitution;
    }

    public void setImplementInstitution(String implementInstitution) {
        this.implementInstitution = implementInstitution;
    }

    @Basic
    @Column(name = "IMPLEMENT_INSTITUTION_CODE")
    public String getImplementInstitutionCode() {
        return implementInstitutionCode;
    }

    public void setImplementInstitutionCode(String implementInstitutionCode) {
        this.implementInstitutionCode = implementInstitutionCode;
    }

    @Basic
    @Column(name = "ENTRUST_DEPT")
    public String getEntrustDept() {
        return entrustDept;
    }

    public void setEntrustDept(String entrustDept) {
        this.entrustDept = entrustDept;
    }

    @Basic
    @Column(name = "ENTRUST_DEPT_CODE")
    public String getEntrustDeptCode() {
        return entrustDeptCode;
    }

    public void setEntrustDeptCode(String entrustDeptCode) {
        this.entrustDeptCode = entrustDeptCode;
    }

    @Basic
    @Column(name = "SUPERVISE_OBJECT")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP")
    public String getAdministrativeCp() {
        return administrativeCp;
    }

    public void setAdministrativeCp(String administrativeCp) {
        this.administrativeCp = administrativeCp;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_NA")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_CE_TYPE")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_UI_CODE")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "ADDRESS_REGISTERED")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "ADDRESS_OPERATING")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "AREA_NUMBER")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "CHECK_FORM")
    public String getCheckForm() {
        return checkForm;
    }

    public void setCheckForm(String checkForm) {
        this.checkForm = checkForm;
    }

    @Basic
    @Column(name = "CHECK_TYPE")
    public String getCheckType() {
        return checkType;
    }

    public void setCheckType(String checkType) {
        this.checkType = checkType;
    }

    @Basic
    @Column(name = "CHECK_MODE")
    public String getCheckMode() {
        return checkMode;
    }

    public void setCheckMode(String checkMode) {
        this.checkMode = checkMode;
    }

    @Basic
    @Column(name = "CHECK_RESULT")
    public String getCheckResult() {
        return checkResult;
    }

    public void setCheckResult(String checkResult) {
        this.checkResult = checkResult;
    }

    @Basic
    @Column(name = "CHECK_DATE")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    @Basic
    @Column(name = "CHECK_PERSONNEL")
    public String getCheckPersonnel() {
        return checkPersonnel;
    }

    public void setCheckPersonnel(String checkPersonnel) {
        this.checkPersonnel = checkPersonnel;
    }

    @Basic
    @Column(name = "CHECK_PERSONNEL_CODE")
    public String getCheckPersonnelCode() {
        return checkPersonnelCode;
    }

    public void setCheckPersonnelCode(String checkPersonnelCode) {
        this.checkPersonnelCode = checkPersonnelCode;
    }

    @Basic
    @Column(name = "SUBMITTED_DATE")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(Date submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "SUBMITTED_PERSONNEL")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "DEl_FLAG")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "CREAT_TIME")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getCreatTime() {
        return creatTime;
    }

    public void setCreatTime(Date creatTime) {
        this.creatTime = creatTime;
    }

    @Basic
    @Column(name = "CREAT_PRESON")
    public String getCreatPreson() {
        return creatPreson;
    }

    public void setCreatPreson(String creatPreson) {
        this.creatPreson = creatPreson;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ApJgxwCheckAction that = (ApJgxwCheckAction) o;
        return Objects.equals(actionId, that.actionId) &&
                Objects.equals(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equals(superviseItemImplementCode, that.superviseItemImplementCode) &&
                Objects.equals(superviseItemCheckIcode, that.superviseItemCheckIcode) &&
                Objects.equals(checkActionCode, that.checkActionCode) &&
                Objects.equals(checkActionName, that.checkActionName) &&
                Objects.equals(implementInstitution, that.implementInstitution) &&
                Objects.equals(implementInstitutionCode, that.implementInstitutionCode) &&
                Objects.equals(entrustDept, that.entrustDept) &&
                Objects.equals(entrustDeptCode, that.entrustDeptCode) &&
                Objects.equals(superviseObject, that.superviseObject) &&
                Objects.equals(administrativeCp, that.administrativeCp) &&
                Objects.equals(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equals(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equals(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equals(addressRegistered, that.addressRegistered) &&
                Objects.equals(addressOperating, that.addressOperating) &&
                Objects.equals(areaNumber, that.areaNumber) &&
                Objects.equals(checkForm, that.checkForm) &&
                Objects.equals(checkType, that.checkType) &&
                Objects.equals(checkMode, that.checkMode) &&
                Objects.equals(checkResult, that.checkResult) &&
                Objects.equals(checkDate, that.checkDate) &&
                Objects.equals(checkPersonnel, that.checkPersonnel) &&
                Objects.equals(checkPersonnelCode, that.checkPersonnelCode) &&
                Objects.equals(submittedDate, that.submittedDate) &&
                Objects.equals(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(creatTime, that.creatTime) &&
                Objects.equals(creatPreson, that.creatPreson);
    }

    @Override
    public int hashCode() {
        return Objects.hash(actionId, recordUniqueIdentity, superviseItemImplementCode, superviseItemCheckIcode, checkActionCode, checkActionName, implementInstitution, implementInstitutionCode, entrustDept, entrustDeptCode, superviseObject, administrativeCp, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, checkForm, checkType, checkMode, checkResult, checkDate, checkPersonnel, checkPersonnelCode, submittedDate, submittedPersonnel, delFlag, creatTime, creatPreson);
    }
}
